package com.fitso.model.calculator.idealweight;

import com.fitso.model.bean.Body;
import com.fitso.model.bean.Body.Sex;
import com.fitso.model.bean.measure.length.Foot;
import com.fitso.model.bean.measure.length.Length;
import com.fitso.model.bean.measure.mass.KiloGram;
import com.fitso.model.bean.measure.mass.Mass;
import com.fitso.model.calculator.IdealWeightCalculator;

/**
 * Implementation of {@link IdealWeightCalculator} that is very similar to
 * Divine and is therefore only good as a very rough estimate.
 * 
 * @author timothystorm
 * 
 */
public class HamwiIdealWeightCalculator extends AbstractIdealWeightCalculator implements IdealWeightCalculator {

	protected Length getMedianHeight(Body body) {
		return new Foot(5.0);
	}

	protected Mass getRootWeight(Body body) {
		return new KiloGram(body.getSex() == Sex.MALE ? 48.0 : 45.5);
	}

	protected Mass getWeightMultiplier(Body body) {
		return new KiloGram(body.getSex() == Sex.MALE ? 2.7 : 2.2);
	}
}
